我正在构建一个Java桌面应用程序,需要存储一些本地数据(首选项和历史记录)。为此,我想在适当的位置创建一个新文件夹,例如Windows中的AppData\myapp和Linux中的~/.myapp苹果机)。什么是好的、跨平台的方式来做到这一点?我在这个网站上看到了几个关于这个问题的问题,但是要么:提问者想要查找Windows的应用程序数据(非跨平台)解决方案是在user.home中创建一个文件夹(Linux风格,不是跨平台的)这是我目前所做的,但我正在寻求改进。 最佳答案 你总是可以使用JavaPreferencesAPI它将存储
我使用ApacheFelix和Glassfish工作了几个月。我可以创建简单的Web应用程序。现在我必须创建基于OSGI架构的Java守护进程。是否有任何带有示例代码的好教程可以帮助学习用于Java桌面应用程序的ApacheFelix。我也想问一下bundle是怎么打包的?是web应用程序,它们是jar文件。 最佳答案 我会说使用webstart是最简单的。在那种情况下,您将创建一个包含Felix(可能还有更多库)的基本jar文件,它可以启动您的应用程序,客户端可以从那里使用Bundle.install下载其他包。您还可以将它与Ap
我正在使用macOS上的SwingGUI框架实现Java应用程序。当使用系统外观和屏幕菜单栏时,Swing会自动将名为SpotlightforHelp的搜索字段插入到框架菜单栏的第一个标有"Help"的菜单中:System.setProperty("apple.laf.useScreenMenuBar","true");try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exceptione){e.printStackTrace();}JFrameframe=newJFrame()
我创建了一个使用JavaWebStart启动的NetBeans平台应用程序。我在Netbeans6.8中使用“构建JNLP应用程序”命令构建了WAR文件。我已将桌面快捷方式和菜单项添加到JNLP文件,但由于某些原因,这些在应用程序启动时并未创建。但是,当我去:ControlPanel->Java->TemporaryInternetFiles->View->Selectmyapplication>Click'Installshortcutstotheselectedapplication'桌面和菜单快捷方式已正确创建。此外,在Java控制台中,“快捷方式创建”选项设置为以下(我认为是默
我正在编写一个旨在在桌面上运行的Java应用程序,它将使用Swing作为其UI。我熟悉JavaWebStart,但听说它可能很麻烦且存在错误。有哪些工具可以更轻松地将Java应用程序部署到多个平台?我特别在寻找可免费使用的工具,或者至少是可免费用于开源项目的工具。编辑:我应该澄清一下,这是一个主要在后台运行的点对点应用程序,应该(可选)能够在Windows、Mac和Linux上自动启动。edit2:我应该进一步澄清,这个应用程序旨在在政府可能审查我们网站的国家/地区运行。因此,重要的是它可以作为独立文件分发,而不是必须从已知网站下载的文件。 最佳答案
我正在研究使用Jigsaw来减少微服务的占用空间。我必须找到的最后一个依赖项是java.beans.Introspector。想象一下当我发现我需要引入整个模块java.desktop时我的惊讶,它包含各种不相关的东西,如awt、applets、swing等。这对我来说似乎很疯狂,bean内省(introspection)肯定应该是基本语言的一部分,并且与UI功能无关。我认为该依赖项来自SpringBoot的嵌入式Tomcat,因此我无法自行修改它。问题:模块是您可以访问的最精细的粒度,还是有另一种方法可以减少脂肪。 最佳答案 依赖
我正在尝试使用以下方式启动Jenkins:java-jarjenkins.war我遇到了这个错误:java.lang.UnsupportedClassVersionError:54.0atMain.main(Main.java:128)这个问题是在我的开发环境更新后出现的,我切换到:Java10.0.1+10Jenkins2.107.2苹果操作系统10.13.4 最佳答案 根据您收到的错误消息:正在加载的JAR/WAR文件是为Java10(及更高版本)编译的,因为消息表明类文件版本为54。实际使用的JRE是Java9或更早版本。如果
我敢肯定有很多方法,但是对您的代码影响最小的推荐方法是什么?显而易见的是,您创建了属性文件,但如何在渲染中交换值?在J2EE中,您总是只需重新呈现整个页面,这样就很容易了。但是在Swing应用程序中,您只是在paintComponent(Graphicsg)方法中添加.getProperty()的代码吗?如果是这样的话,是不是看起来很繁重,因为现在你必须在之前不需要的任何地方重写这个方法......附加:您如何设置通知系统以重新呈现所有当前可见的组件而不强制某种注册模式?我想如果我覆盖了paintComponent(Graphicsg),我所要做的就是触发一个事件,表明某些东西已经改变
我必须发布一个带有嵌入式JRE的swing应用程序。带有application+JRE+.bat/.sh的压缩存档可以解决Windows和Linux问题。用户下载zip、解压缩并启动应用程序。完美。但是现在,我必须为MacOSX提供同样的东西。我已经阅读/被告知很多关于这个问题的不同的东西(禁止在Mac上分发JRE,相反,Mac上总是有一个JRE等等...),所以我真的很困惑我能做什么。有人做过这样的事吗?您是如何解决Mac应用程序部署的?作为奖励,在Mac中分发我的应用程序的最佳格式是什么(zip?)? 最佳答案 看看appbun
我正在尝试在macOSSierra10.12上使用DTrace分析Java应用程序。我正在使用JDK8:⋊>~java-versionjavaversion"1.8.0_102"Java(TM)SERuntimeEnvironment(build1.8.0_102-b14)JavaHotSpot(TM)64-BitServerVM(build25.102-b14,mixedmode)⋊>~echo$JAVA_HOME/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home我的最终目标是跟踪特定包的所有Java方法入